\chapter{Conclusion and Future Work}
$\pi$ calculus is a process calculi introduced by Robin Milner, Jaochim Parrow and David Walker with the aim to create a formal model for modeling concurrent environments. Earlier research was based mainly on synchronous programming and algorithms. With the advent of multi processors, concurrent programming became a bigger research topic. $\pi$ calculus was efficient in modeling the structure of concurrent environments. While modeling is a theoretical issue, this theory for using into practice requires a way to program it. Pict\cite{pict} was one such effort. \\ \\
Java has emerged as a greatly accepted application development language. We have build a library for $\pi$ calculus with features like $choice$ and $parallel$ called JavaPict. The user of this library need not worry about the traditional issues of deadlock, livelock or starvation. These concurrency issues are handled by an external transactional memory, deuce\cite{deuce}. 
The deuce library provides efficient and easy to use API which has been used in the library and concurrency issues are internally handled. \\ \\
We have also used featherweight Generic Java(FGJ)\cite{FGJ} and have extended it to include notion of $process$ and $channel$ and have successfully proved the type safety of this extended version i.e. Featherweight Generic Java with processes(FGJP). \\ \\
Further work to add the $\pi$ calculus feature of replication could be done. $\pi$ calculus has emerged as a efficient modeling language and has been used for modeling a variety of systems in cryptographic security systems, biological systems, distributed computing and many others. JavaPict can be extended to include features specific to these fields.\\

This thesis also provides a very basic user interface(UI) which represent the processes as rectangles and channels as lines connecting them. In future, this UI could be extended to dynamically depict the sending and receiving of messages and also breaking and making of channels. \\